package com.shop.cloud.domain.hongfu;

import io.swagger.annotations.ApiModelProperty;

import java.sql.Time;
import java.sql.Timestamp;

import lombok.EqualsAndHashCode;
import lombok.ToString;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.shop.cloud.common.mybatis.BaseEntity;

/**
 * 
 * shop-shop
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler",
		"fieldHandler" }, ignoreUnknown = true)
public class Shop extends BaseEntity {

	private static final long serialVersionUID = 1L;

	public static final int STATUS_WAIT_CHECK = 1; // 1: 等待审核
	public static final int STATUS_OK = 2; // 2: 审核已通过
	public static final int STATUS_REJECT = 3; // 3: 审核未通过

	public static final int UNION_DIFF = 1; // 1: 异业联盟
	public static final int UNION_COMPANY = 2; // 2: 公司网点

	/**
	 * 用户id
	 */
	@ApiModelProperty(value = "用户id")
	private Long userId;
	/**
	 * 商家名称
	 */
	@ApiModelProperty(value = "商家名称")
	private String name;
	/**
	 * 商家简介
	 */
	@ApiModelProperty(value = "商家简介")
	private String introduce;
	/**
	 * 商家类型id
	 */
	@ApiModelProperty(value = "商家类型id")
	private Long typeId;
	/**
	 * 商家电话
	 */
	@ApiModelProperty(value = "商家电话")
	private String phone;
	/**
	 * 地区id
	 */
	@ApiModelProperty(value = "地区id")
	private Long regionId;
	/**
	 * 详细地址
	 */
	@ApiModelProperty(value = "详细地址")
	private String address;
	/**
	 * 营业开始时间
	 */
	@ApiModelProperty(value = "营业开始时间")
	private Time openStartTime;
	/**
	 * 营业结束时间
	 */
	@ApiModelProperty(value = "营业结束时间")
	private Time openEndTime;
	/**
	 * 经度
	 */
	@ApiModelProperty(value = "经度")
	private Float longitude;
	/**
	 * 纬度
	 */
	@ApiModelProperty(value = "纬度")
	private Float latitude;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Timestamp createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间")
	private Timestamp updateTime;
	/**
	 * 是否异业联盟 1：异业联盟 2：公司网点
	 */
	@ApiModelProperty(value = "是否异业联盟1：异业联盟2：公司网点")
	private Integer isUnion;
	/**
	 * 是否官方店铺 0：否 1：是
	 */
	@ApiModelProperty(value = "是否官方店铺0：否1：是")
	private Integer isOfficial;
	/**
	 * 状态。 1: 等待审核 2: 审核已通过 3: 审核未通过
	 */
	@ApiModelProperty(value = "状态。1: 等待审核2: 审核已通过3: 审核未通过")
	private Integer status;
	/**
	 * 审核时间
	 */
	@ApiModelProperty(value = "审核时间")
	private Timestamp checkTime;
	/**
	 * 审核说明
	 */
	@ApiModelProperty(value = "审核说明")
	private String checkDesc;
	/**
	 * 星级
	 */
	@ApiModelProperty(value = "星级")
	private Float level;

	@ApiModelProperty(value = "商家图片")
	private String icon;

	@ApiModelProperty(value = "距离")
	private String distance;

	@ApiModelProperty(value = "距离最近")
	private Integer isDistance;

	/**
	 * 用户经度
	 */
	@ApiModelProperty(value = "用户经度")
	private Float myLongitude;
	/**
	 * 用户纬度
	 */
	@ApiModelProperty(value = "用户纬度")
	private Float myLatitude;

	@ApiModelProperty(value = "是否所属门店")
	private Integer isShop;

	@ApiModelProperty(value = "是否好评 1：降序 2：升序")
	private Integer isLevel;

	@ApiModelProperty(value = "是否全部排序 1")
	private Integer isAll;

	@ApiModelProperty(value = "商家资质图片-单张")
	private String aptitudeImage;

	@ApiModelProperty(value = "商家展示图片-多张")
	private String shopImage;

	@ApiModelProperty(value = "商家营业开始时间String")
	private String openTime;

	@ApiModelProperty(value = "商家营业结束时间String")
	private String finishTime;

	@ApiModelProperty(value = "门店Id")
	private Long roleId;

	private int authority;

	@ApiModelProperty(value = "是否去空")
	private Integer isExist;

	private Integer exist;

	public Shop() {

	}

	public Integer getExist() {
		return exist;
	}

	public void setExist(Integer exist) {
		this.exist = exist;
	}

	public Integer getIsExist() {
		return isExist;
	}

	public void setIsExist(Integer isExist) {
		this.isExist = isExist;
	}

	public int getAuthority() {
		return authority;
	}

	public void setAuthority(int authority) {
		this.authority = authority;
	}

	public Long getRoleId() {
		return roleId;
	}

	public void setRoleId(Long roleId) {
		this.roleId = roleId;
	}

	public String getOpenTime() {
		return openTime;
	}

	public void setOpenTime(String openTime) {
		this.openTime = openTime;
	}

	public String getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(String finishTime) {
		this.finishTime = finishTime;
	}

	public String getAptitudeImage() {
		return aptitudeImage;
	}

	public void setAptitudeImage(String aptitudeImage) {
		this.aptitudeImage = aptitudeImage;
	}

	public String getShopImage() {
		return shopImage;
	}

	public void setShopImage(String shopImage) {
		this.shopImage = shopImage;
	}

	public Integer getIsAll() {
		return isAll;
	}

	public void setIsAll(Integer isAll) {
		this.isAll = isAll;
	}

	public Integer getIsLevel() {
		return isLevel;
	}

	public void setIsLevel(Integer isLevel) {
		this.isLevel = isLevel;
	}

	public Integer getIsShop() {
		return isShop;
	}

	public void setIsShop(Integer isShop) {
		this.isShop = isShop;
	}

	public Float getMyLongitude() {
		return myLongitude;
	}

	public void setMyLongitude(Float myLongitude) {
		this.myLongitude = myLongitude;
	}

	public Float getMyLatitude() {
		return myLatitude;
	}

	public void setMyLatitude(Float myLatitude) {
		this.myLatitude = myLatitude;
	}

	public Integer getIsDistance() {
		return isDistance;
	}

	public void setIsDistance(Integer isDistance) {
		this.isDistance = isDistance;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getDistance() {
		return distance;
	}

	public void setDistance(String distance) {
		this.distance = distance;
	}

	public Long getUserId() {
		return this.userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getIntroduce() {
		return this.introduce;
	}

	public void setIntroduce(String introduce) {
		this.introduce = introduce;
	}

	public Long getTypeId() {
		return this.typeId;
	}

	public void setTypeId(Long typeId) {
		this.typeId = typeId;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public Long getRegionId() {
		return this.regionId;
	}

	public void setRegionId(Long regionId) {
		this.regionId = regionId;
	}

	public String getAddress() {
		return this.address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public Time getOpenStartTime() {
		return this.openStartTime;
	}

	public void setOpenStartTime(Time openStartTime) {
		this.openStartTime = openStartTime;
	}

	public Time getOpenEndTime() {
		return this.openEndTime;
	}

	public void setOpenEndTime(Time openEndTime) {
		this.openEndTime = openEndTime;
	}

	public Float getLongitude() {
		return this.longitude;
	}

	public void setLongitude(Float longitude) {
		this.longitude = longitude;
	}

	public Float getLatitude() {
		return this.latitude;
	}

	public void setLatitude(Float latitude) {
		this.latitude = latitude;
	}

	public Timestamp getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	public Timestamp getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Timestamp updateTime) {
		this.updateTime = updateTime;
	}

	public Integer getIsUnion() {
		return isUnion;
	}

	public void setIsUnion(Integer isUnion) {
		this.isUnion = isUnion;
	}

	public Integer getIsOfficial() {
		return this.isOfficial;
	}

	public void setIsOfficial(Integer isOfficial) {
		this.isOfficial = isOfficial;
	}

	public Integer getStatus() {
		return this.status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Timestamp getCheckTime() {
		return this.checkTime;
	}

	public void setCheckTime(Timestamp checkTime) {
		this.checkTime = checkTime;
	}

	public String getCheckDesc() {
		return this.checkDesc;
	}

	public void setCheckDesc(String checkDesc) {
		this.checkDesc = checkDesc;
	}

	public Float getLevel() {
		return this.level;
	}

	public void setLevel(Float level) {
		this.level = level;
	}

}